りおんクロニクル


C# × SQLite × DataTable|最速で一覧表示する方法【2026年版】

Home【2026年版】C# / .NET入門と実践ガイド|基礎・業務アプリ開発・SQLite連携まで体系的に解説

C#でSQLiteを使うとき、DataTableに読み込んで一覧表示したいというケースは非常に多いです。 特に WinForms / WPF の業務アプリでは、DataGridView や DataGrid にバインドするために DataTable が定番です。

この記事でわかること
・SQLite → DataTable の最速コード
・DataGridView / WPF へのバインド方法
・CRUDと組み合わせる実務パターン
・業務アプリでのベストプラクティス

1. 必要なNuGetパッケージ

この2つだけでOK。 .NET 10 でも最も安定して動く組み合わせです。

2. SQLite → DataTable の最小コード

まずは「最速で動く」基本コードから。

using Microsoft.Data.Sqlite;
using System.Data;

var dt = new DataTable();
var connectionString = "Data Source=sample.db";

using var connection = new SqliteConnection(connectionString);
connection.Open();

using var command = new SqliteCommand("SELECT * FROM Users", connection);
using var reader = command.ExecuteReader();

dt.Load(reader);

// DataGridView.DataSource = dt; などに使える

ポイント

3. DataGridView に表示する(WinForms)

dataGridView1.DataSource = dt;

これだけで一覧表示が完成します。

4. WPF(DataGrid)に表示する

dataGrid.ItemsSource = dt.DefaultView;

WPFは DataTable をそのまま渡せないので、DefaultView を使います。

5. WHERE句付きの検索(実務で必須)

var dt = new DataTable();
var sql = "SELECT * FROM Users WHERE Age > @age";

using var command = new SqliteCommand(sql, connection);
command.Parameters.AddWithValue("@age", 20);

using var reader = command.ExecuteReader();
dt.Load(reader);

ポイント

6. INSERT / UPDATE / DELETE と組み合わせる(CRUD)

■ INSERT

var sql = "INSERT INTO Users (Name, Age) VALUES (@name, @age)";
using var cmd = new SqliteCommand(sql, connection);

cmd.Parameters.AddWithValue("@name", "Taro");
cmd.Parameters.AddWithValue("@age", 25);

cmd.ExecuteNonQuery();

■ UPDATE

var sql = "UPDATE Users SET Age = @age WHERE Id = @id";
using var cmd = new SqliteCommand(sql, connection);

cmd.Parameters.AddWithValue("@age", 30);
cmd.Parameters.AddWithValue("@id", 1);

cmd.ExecuteNonQuery();

■ DELETE

var sql = "DELETE FROM Users WHERE Id = @id";
using var cmd = new SqliteCommand(sql, connection);

cmd.Parameters.AddWithValue("@id", 1);

cmd.ExecuteNonQuery();

■ SELECT → DataTable

var dt = new DataTable();
using var cmd = new SqliteCommand("SELECT * FROM Users", connection);
using var reader = cmd.ExecuteReader();
dt.Load(reader);

7. 業務アプリでのベストプラクティス

まとめ:C# × SQLite × DataTable は業務アプリ最強の組み合わせ

C#で業務アプリを作るなら、 SQLite × DataTable は最も実用的でコスパの良い組み合わせです。 この記事をベースに、あなたのアプリに組み込んでみてください。

前のページ  次のページ